﻿#Include ..\handle\baseHandle.ahk

class TestAsync extends BaseHandle {

  static nullable := true

  static Handle(parsed) {

    ; 同步的
    ; res := 'Async!'
    ; return this.Succ(res)

    ; **将上面的操作转为异步**
    ; 1. 包装一层方法
    Task() {

      res := 'Async!' ; 原封不动的复制过来

      Sleep 1000 ; 添加延时，效果更明显

      ; 2. 调用方法返回结果
      ; Task.succ(res)         ; 如果成功
      Task.fail(res)         ; 如果失败
      ; Task.done(res, true)   ; 或根据某条件决定
    }

    ; 3. 换成 Async，并将方法作为参数传入
    return this.Async(Task)
  }

  static Echo() => '
  (
    test
    __ta
  )'

}
